home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / CONJUMAT.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-02-24  |  4.6 KB  |  166 lines

  1. 10  'CONJUMAT - Conjugate Match Calculator - 15 MAR 96 rev. 24 FEB 97
  2. 20  CLS:KEY OFF
  3. 30  IF EX$=""THEN EX$="EXIT"
  4. 40  IF PROG$=""THEN GO$=EX$ ELSE GO$=PROG$
  5. 50  COMMON EX$,PROG$
  6. 60  COLOR 7,0,1
  7. 70  UL$=STRING$(80,205)
  8. 80  B$=STRING$(80,32)
  9. 90  U$="#####.###"
  10. 100  E=2.71858     'base of natural logarithms
  11. 110  GOTO 180
  12. 120  '
  13. 130  '.....format input line
  14. 140  LOCATE CSRLIN-1:PRINT SPC(7);
  15. 150  LOCATE CSRLIN,47:PRINT STRING$(7,".");USING U$;ZZ;
  16. 160  RETURN
  17. 170  '
  18. 180  '.....start
  19. 190  CLS
  20. 200  COLOR 15,2
  21. 210  PRINT " CONJUGATE MATCH CALCULATOR";TAB(57);"by George Murphy VE3ERP ";
  22. 220  COLOR 1,0:PRINT STRING$(80,223);
  23. 230  COLOR 7,0
  24. 240  '
  25. 250  T=7
  26. 260  PRINT TAB(T);
  27. 270  PRINT "This program is a basic design tool to help determine the conditions"
  28. 280  PRINT TAB(T);
  29. 290  PRINT "existing when connecting a transmitter to a complex load, such as an"
  30. 300  PRINT TAB(T);
  31. 310  PRINT "antenna, via a transmission line of known characteristics."
  32. 320  PRINT
  33. 330  PRINT TAB(T);
  34. 340  PRINT "The program will ask you to enter the feedline attenuation in dB,"
  35. 350  PRINT TAB(T);
  36. 360  PRINT "if known. You may be able to calculate this value by using one of"
  37. 370  PRINT TAB(T);
  38. 380  PRINT "the other programs listed below."
  39. 390  PRINT UL$;
  40. 400  PRINT " Press number in < > to:"
  41. 410  PRINT UL$;
  42. 420  Z$=CHR$(34)
  43. 430  PRINT "   < 1 >  RUN this program
  44. 440  PRINT
  45. 450  PRINT "   < 2 >  Run ";Z$;"COAXIAL CABLE CHARACTERISTICS";Z$;" program"
  46. 460  PRINT "   < 3 >  Run ";Z$;"TRANSMISSION LINE LOSSES";Z$;" program"
  47. 470  PRINT "   < 4 >  Run ";Z$;"TRANSMISSION LINES - OPEN WIRE";Z$;" program"
  48. 480  PRINT
  49. 490  PRINT "   < 0 >  EXIT"
  50. 500  '
  51. 510  Z$=INKEY$:IF Z$=""THEN 510
  52. 520  IF Z$="0"THEN CLS:CHAIN GO$
  53. 530  IF Z$="1"THEN 590
  54. 540  IF Z$="2"THEN CLS:CHAIN "coaxchar"
  55. 550  IF Z$="3"THEN CLS:CHAIN "lineloss"
  56. 560  IF Z$="4"THEN CLS:CHAIN "openwire"
  57. 570  GOTO 510
  58. 580  '
  59. 590  '.....inputs
  60. 600  CLS
  61. 610  GOSUB 1330    'diagram
  62. 620  '
  63. 630  COLOR 15
  64. 640  INPUT " ENTER: Transmitter output....................(watts)";W
  65. 650  ZZ=W:GOSUB 130:PRINT " watts"
  66. 660  COLOR 7
  67. 670  '
  68. 680  INPUT " ENTER: Characterisic impedance of feedline... (ohms)";ZO
  69. 690  ZZ=ZO:GOSUB 130:PRINT " ohms"
  70. 700  '
  71. 710  INPUT " ENTER: Complex load resistive component......(ohms)";R
  72. 720  ZZ=R:GOSUB 130:PRINT " ohms"
  73. 730  '
  74. 740  COLOR 0,7
  75. 750  PRINT " Is the reactive component (i)nductive or (c)apacitive?   (i/c) "
  76. 760  COLOR 7,0
  77. 770  Z$=INKEY$:IF Z$=""THEN 770
  78. 780  IF Z$="i"THEN J$="+ j":Z$="inductive component..":GOTO 810
  79. 790  IF Z$="c"THEN J$="- j":Z$="capacitive component.":GOTO 810
  80. 800  GOTO 770
  81. 810  LOCATE CSRLIN-1:PRINT B$;:LOCATE CSRLIN-1
  82. 820  '
  83. 830  PRINT " ENTER: Value of ";Z$;".........(ohms)";:INPUT X
  84. 840  LN=CSRLIN-2:VIEW PRINT LN TO 24:CLS:VIEW PRINT:LOCATE LN
  85. 850  R=R/ZO:X=X/ZO
  86. 860  B=((X^2+1)/R)+R
  87. 870  SWR=(B+SQR(B^2-4))/2
  88. 880  X$=STR$(ABS(X*ZO)):X$=RIGHT$(X$,LEN(X$)-1)
  89. 890  PRINT "        Complex load impedance.......................";
  90. 900  '
  91. 910  PRINT R*ZO;J$;X$;" ohms"
  92. 920  PRINT "        SWR at load R................................";USING U$;SWR;
  93. 930  PRINT ":1"
  94. 940  '
  95. 950  P=(SWR-1)/(SWR+1)   'reflection coefficient
  96. 960  PRINT "        Reflection coefficient.......................";USING U$;P
  97. 970  '
  98. 980  INPUT " ENTER: Attenuation of feedline when matched.....(dB)";LM
  99. 990  ZZ=LM:GOSUB 130:PRINT " dB"
  100. 1000  BB=10^(LM/10)
  101. 1010  DB=10*LOG((BB^2-P^2)/(BB*(1-P^2)))/LOG(10)   'converted to base 10
  102. 1020  '
  103. 1030  PRINT "        Additional loss due to SWR...................";
  104. 1040  PRINT USING U$;DB-LM;:PRINT " dB"
  105. 1050  PRINT "        TOTAL feedline Attenuation ..................";USING U$;DB;
  106. 1060  PRINT " dB"
  107. 1070  A=DB/8.686    'attenuation in nepers
  108. 1080  PRINT TAB(53);"=";:PRINT USING U$;A;:PRINT " nepers"
  109. 1090  '
  110. 1100  SI=(BB+P)/(BB-P)
  111. 1110  PRINT "        SWR at conjugate matching point..............";USING U$;SI;
  112. 1120  PRINT ":1"
  113. 1130  '
  114. 1140  W1=W*1/(1-P^2*E^-(4*A))
  115. 1150  PRINT "        Forward power at conjugate matching point....";USING U$;W1;
  116. 1160  PRINT " watts"
  117. 1170  '
  118. 1180  W2=W*E^-(2*A)/(1-P^2*E^-(4*A))
  119. 1190  PRINT "        Forward power arriving at mismatched load R..";USING U$;W2;
  120. 1200  PRINT " watts"
  121. 1210  '
  122. 1220  W3=W*(1-P^2)*E^-(2*A)/(1-P^2*E^-(4*A))
  123. 1230  COLOR 15
  124. 1240  PRINT "        Power absorbed in the load R.................";USING U$;W3;
  125. 1250  PRINT " watts"
  126. 1260  COLOR 7
  127. 1270  '
  128. 1280  W4=W*P^2*E^-(2*A)/(1-P^2*E^-(4*A))
  129. 1290  PRINT "        Power Reflected..............................";USING U$;W4;
  130. 1300  PRINT " watts";
  131. 1310  GOTO 1480
  132. 1320  '
  133. 1330  '.....diagram
  134. 1340  T=21:COLOR 0,7
  135. 1350  LOCATE ,T:PRINT "            CONJUGATE MATCH           "
  136. 1360  LOCATE ,T:PRINT "                                      "
  137. 1370  LOCATE ,T:PRINT "       CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUND feedline SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL     "
  138. 1380  LOCATE ,T:PRINT "   VARPTRSOUNDSOUNDSOUNDCOLOR                        VARPTRSOUNDSOUNDSOUNDCOLOR "
  139. 1390  LOCATE ,T:PRINT " DEFDBLSOUND<0xB4!> T <UNK! {FEC4}>SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND<0xB4!> R CALL "
  140. 1400  LOCATE ,T:PRINT "   CLSSOUNDSOUNDSOUND'                        CLSSOUNDSOUNDSOUND' "
  141. 1410  LOCATE ,T:PRINT " T = Transmatch or transmitter output "
  142. 1420  LOCATE ,T:PRINT " <UNK! {FE20}>= Conjugate matching point         "
  143. 1430  LOCATE ,T:PRINT " R = Complex load (e.g. an antenna)   "
  144. 1440  LOCATE ,T:PRINT "                                      "
  145. 1450  COLOR 7,0
  146. 1460  RETURN
  147. 1470  '
  148. 1480  '.....end
  149. 1490  GOSUB 1530
  150. 1500  GOTO 180
  151. 1510  END
  152. 1520  '
  153. 1530  'HARDCOPY
  154. 1540  GOSUB 1650:LOCATE 25,2:COLOR 14,6
  155. 1550  PRINT " Press 1 to print screen, 2 to print screen & ";
  156. 1560  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  157. 1570  Z$=INKEY$:IF Z$="3"THEN GOSUB 1650:RETURN
  158. 1580  IF Z$="1"OR Z$="2"THEN GOSUB 1650:GOTO 1600
  159. 1590  GOTO 1570
  160. 1600  FOR QX=1 TO 24:FOR QY=1 TO 80
  161. 1610  LPRINT CHR$(SCREEN(QX,QY));
  162. 1620  NEXT QY:NEXT QX
  163. 1630  IF Z$="2"THEN LPRINT CHR$(12)
  164. 1640  GOTO 1540
  165. 1650  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  166.